import { defineStore } from 'pinia';
import { ref } from 'vue';
import type { User } from '@/types/user';

export const useUserStore = defineStore('user', () => {
    const userInfo = ref<User>();

    const setUserInfo = (u: User) => {
        userInfo.value = u;
    };

    const getUserInfo  = () =>{
        return userInfo.value;
    }

    const delUserInfo = () => {
        // undefined 是 window 身上的一个属性，大厂里面不推荐直接用 undefined 给变量赋值
        // void 是用来创建 undefined，不管它后面跟个啥，得到的都是 undefined；
        userInfo.value = void 0;
        // 上面的代码等价于下面这个，但是上面的代码更好
        // userInfo.value = undefined;
    }

    return { userInfo, setUserInfo, delUserInfo,getUserInfo }
}, { persist: true });
